﻿using Enter.Admin.Enums;
using Enter.Admin.Utils;
using Newtonsoft.Json;
using System;

namespace Enter.Admin.Dtoes
{
    public class CaseIndexBaseModel
    {
        /// <summary>
        /// 主键
        /// </summary>
        public long Id { get; set; }
        /// <summary>
        /// 序号
        /// </summary>
        [Excel(HeaderName = "序号", ColumnType = ExcelColumnType.台账表, Editable = false)]
        public virtual int No { get; set; }
        /// <summary>
        /// 合同编号
        /// </summary>
        [Excel(HeaderName = "合同编号", ColumnType = ExcelColumnType.台账表 | ExcelColumnType.诉讼信息表, Required = true)]
        public virtual string ContractNo { get; set; } = string.Empty;
    }
    /// <summary>
    /// 新一贷（移交特管）
    /// </summary>
    public class CaseIndex1Model: CaseIndexBaseModel
    {
        /// <summary>
        /// 序号
        /// </summary>
        [Excel(HeaderName = "序号", ColumnType = ExcelColumnType.台账表, Editable=false)]
        public override int No { get; set; }       
        /// <summary>
        /// 借据号（自用）
        /// </summary>
        [Excel(HeaderName = "借据号（自用）", HeaderNames = new string[] { "借据号（自用）", "借据号", "借据编号" }, ColumnType = ExcelColumnType.台账表)]
        public string BusinessNo { get; set; } = string.Empty;
        /// <summary>
        /// 合同号
        /// </summary>
        [Excel(HeaderName = "合同号", HeaderNames = new string[] { "合同编号", "合同号", "合同号码" }, ColumnType = ExcelColumnType.台账表, Required = true)]
        public override string ContractNo { get; set; } = string.Empty;
        /// <summary>
        /// 批次
        /// </summary>
        public string Batch { get; set; } = string.Empty;
        /// <summary>
        /// 批次序号（自用）
        /// </summary>
        [Excel(HeaderName = "批次序号（自用）", ColumnType = ExcelColumnType.台账表)]
        public string BatchNo { get; set; } = string.Empty;
        /// <summary>
        /// 客户名称
        /// </summary>
        [Excel(HeaderName = "客户名称", ColumnType = ExcelColumnType.台账表)]
        public string CustomerOfName { get; set; } = string.Empty;
        /// <summary>
        /// 一审管辖法院
        /// </summary>
        [Excel(HeaderName = "一审管辖法院", ColumnType = ExcelColumnType.台账表)]
        public string CourtOfFirst { get; set; } = string.Empty;
        /// <summary>
        /// 业务品种（贷贷卡/小微其他信用类/新一贷/其他）
        /// </summary>
        [Excel(HeaderName = "业务品种（贷贷卡/小微其他信用类/新一贷/其他）", ColumnType = ExcelColumnType.台账表)]
        public string Business { get; set; } = string.Empty;
        /// <summary>
        /// 诉讼进展
        /// </summary>
        [Excel(HeaderName = "诉讼进展", ColumnType = ExcelColumnType.台账表, Drop = nameof(EnumArchiveNatural_13))]
        [JsonConverter(typeof(EnumConverter), nameof(EnumArchiveNatural_13))]
        public EnumArchiveNatural_13 ProgressOfCase { get; set; }
        /// <summary>
        /// 一审立案号
        /// </summary>
        [Excel(HeaderName = "一审立案号", ColumnType = ExcelColumnType.台账表)]
        public string JointNo { get; set; } = string.Empty;
        /// <summary>
        /// 一审立案时间
        /// </summary>
        [Excel(HeaderName = "一审立案时间", ColumnType = ExcelColumnType.台账表)]
        [JsonConverter(typeof(DateFormatConverter))]
        public DateTime JointTime { get; set; }
        /// <summary>
        /// 判决结果（胜诉/败诉/部分败诉）
        /// </summary>
        [Excel(HeaderName = "判决结果（胜诉/败诉/部分败诉）", ColumnType = ExcelColumnType.台账表, Drop = nameof(EnumArchive.EnumArchiveVerdictResult))]
        [JsonConverter(typeof(EnumConverter), nameof(EnumArchive.EnumArchiveVerdictResult))]
        public int VerdictResult { get; set; }
        /// <summary>
        /// 一审判决时间
        /// </summary>
        [Excel(HeaderName = "一审判决时间", ColumnType = ExcelColumnType.台账表)]
        [JsonConverter(typeof(DateFormatConverter))]
        public DateTime VerdictTime { get; set; }       
        /// <summary>
        /// 一审判决生效日
        /// </summary>
        [Excel(HeaderName = "一审判决生效日", ColumnType = ExcelColumnType.台账表)]
        [JsonConverter(typeof(DateFormatConverter))]
        public DateTime VerdictValidTime { get; set; }
        /// <summary>
        /// 立案公告媒体名称
        /// </summary>
        [Excel(HeaderName = "立案公告媒体名称", ColumnType = ExcelColumnType.台账表)]
        public string RecordPublicMedia { get; set; } = string.Empty;
        /// <summary>
        /// 立案公告发布时间
        /// </summary>
        [Excel(HeaderName = "立案公告发布时间", ColumnType = ExcelColumnType.台账表)]
        [JsonConverter(typeof(DateFormatConverter))]
        public DateTime RecordPublicTime { get; set; }
        /// <summary>
        /// 判决公告媒体名称
        /// </summary>
        [Excel(HeaderName = "判决公告媒体名称", ColumnType = ExcelColumnType.台账表)]
        public string SentencePublicMedia { get; set; } = string.Empty;
        /// <summary>
        /// 判决公告发布时间
        /// </summary>
        [Excel(HeaderName = "判决公告发布时间", ColumnType = ExcelColumnType.台账表)]
        [JsonConverter(typeof(DateFormatConverter))]
        public DateTime SentencePublicTime { get; set; }
        /// <summary>
        /// 执行案号
        /// </summary>
        [Excel(HeaderName = "执行案号", ColumnType = ExcelColumnType.台账表)]
        public string ExecutionNo { get; set; } = string.Empty;
        /// <summary>
        /// 执行立案时间
        /// </summary>
        [Excel(HeaderName = "执行立案时间", ColumnType = ExcelColumnType.台账表)]
        [JsonConverter(typeof(DateFormatConverter))]
        public DateTime ApplyExecutionTime { get; set; }
        /// <summary>
        /// 执行法院
        /// </summary>
        [Excel(HeaderName = "执行法院", ColumnType = ExcelColumnType.台账表)]
        public string CourtOfExecution { get; set; } = string.Empty;
        /// <summary>
        /// 终本时间
        /// </summary>
        [Excel(HeaderName = "终本时间", ColumnType = ExcelColumnType.台账表)]
        [JsonConverter(typeof(DateFormatConverter))]
        public DateTime ClosingTime { get; set; }
        /// <summary>
        /// 终本类型（正常终结/非正常终结）
        /// </summary>
        [Excel(HeaderName = "终本类型（正常终结/非正常终结）", ColumnType = ExcelColumnType.台账表, Drop = nameof(EnumArchive.EnumArchiveClosingType))]
        [JsonConverter(typeof(EnumConverter), nameof(EnumArchive.EnumArchiveClosingType))]
        public int ClosingType { get; set; }
        /// <summary>
        /// 终本原因
        /// </summary>
        [Excel(HeaderName = "终本原因", ColumnType = ExcelColumnType.台账表)]
        public string ClosingReason { get; set; } = string.Empty;
        /// <summary>
        /// 终结执行时间
        /// </summary>
        [Excel(HeaderName = "终结执行时间", ColumnType = ExcelColumnType.台账表)]
        [JsonConverter(typeof(DateFormatConverter))]
        public DateTime EndExecTime { get; set; }
        /// <summary>
        /// 终结执行类型（正常终结/非正常终结）
        /// </summary>
        [Excel(HeaderName = "终结执行类型（正常终结/非正常终结）", ColumnType = ExcelColumnType.台账表, Drop = nameof(EnumArchive.EnumArchiveEndExecType))]
        [JsonConverter(typeof(EnumConverter), nameof(EnumArchive.EnumArchiveEndExecType))]
        public int EndExecType { get; set; }
        /// <summary>
        /// 终结执行原因
        /// </summary>
        [Excel(HeaderName = "终结执行原因", ColumnType = ExcelColumnType.台账表)]
        public string EndExecReason { get; set; } = string.Empty;
        /// <summary>
        /// （借款人）是否列入失信名单
        /// </summary>
        [Excel(HeaderName = "（借款人）是否列入失信名单", ColumnType = ExcelColumnType.台账表, Drop = nameof(EnumYesNo))]
        [JsonConverter(typeof(EnumConverter), nameof(EnumYesNo))]
        public EnumYesNo IsBlacklist { get; set; }
        /// <summary>
        /// 进入失信名单时间
        /// </summary>
        [Excel(HeaderName = "进入失信名单时间", ColumnType = ExcelColumnType.台账表)]
        [JsonConverter(typeof(DateFormatConverter))]
        public DateTime BlackInTime { get; set; }
        /// <summary>
        /// 失信名单有效期至
        /// </summary>
        [Excel(HeaderName = "失信名单有效期至", ColumnType = ExcelColumnType.台账表)]
        [JsonConverter(typeof(DateFormatConverter))]
        public DateTime BlackOutTime { get; set; }
        /// <summary>
        /// 开庭日
        /// </summary>
        [Excel(HeaderName = "开庭日", ColumnType = ExcelColumnType.台账表, Format = DateFormatConverter.Format_yyyyMMddHHmmss)]
        [JsonConverter(typeof(DateFormatConverter), DateFormatConverter.Format_yyyyMMddHHmmss)]
        public DateTime CourtTime { get; set; }
        /// <summary>
        /// 主审法官
        /// </summary>
        [Excel(HeaderName = "主审法官", ColumnType = ExcelColumnType.台账表)]
        public string JudgeMaster { get; set; } = string.Empty;
        /// <summary>
        /// 执行法官
        /// </summary>
        [Excel(HeaderName = "执行法官", ColumnType = ExcelColumnType.台账表)]
        public string ExecutionJudge { get; set; } = string.Empty;
        /// <summary>
        /// 是否限制高消费
        /// </summary>
        [Excel(HeaderName = "是否限制高消费", ColumnType = ExcelColumnType.台账表, Drop = nameof(EnumYesNo))]
        [JsonConverter(typeof(EnumConverter), nameof(EnumYesNo))]
        public EnumYesNo IsLimitHight { get; set; }
        /// <summary>
        /// 是否有干净终本
        /// </summary>
        [Excel(HeaderName = "是否有干净终本", ColumnType = ExcelColumnType.台账表, Drop = nameof(EnumYesNo))]
        [JsonConverter(typeof(EnumConverter), nameof(EnumYesNo))]
        public EnumYesNo HasClosing { get; set; }
        /// <summary>
        /// 干净终本取得时间
        /// </summary>
        [Excel(HeaderName = "干净终本取得时间", ColumnType = ExcelColumnType.台账表)]
        [JsonConverter(typeof(DateFormatConverter))]
        public DateTime HasClosingTime { get; set; }
        /// <summary>
        /// 保全信息（房产信息）
        /// </summary>
        [Excel(HeaderName = "保全信息（房产信息）", ColumnType = ExcelColumnType.台账表)]
        public string PreserveBuiding { get; set; } = string.Empty;
        /// <summary>
        /// 保全信息（车辆信息）
        /// </summary>
        [Excel(HeaderName = "保全信息（车辆信息）", ColumnType = ExcelColumnType.台账表)]
        public string PreserveCaring { get; set; } = string.Empty;
        /// <summary>
        /// 保全信息（股权信息）
        /// </summary>
        [Excel(HeaderName = "保全信息（股权信息）", ColumnType = ExcelColumnType.台账表)]
        public string PreserveStock { get; set; } = string.Empty;
        /// <summary>
        /// 保全裁定截止日
        /// </summary>
        [Excel(HeaderName = "保全裁定截止日", ColumnType = ExcelColumnType.台账表)]
        [JsonConverter(typeof(DateFormatConverter))]
        public DateTime SealOutTime { get; set; }
        /// <summary>
        /// 诉讼费
        /// </summary>
        [Excel(HeaderName = "诉讼费", ColumnType = ExcelColumnType.台账表)]
        public decimal CaseFee { get; set; }
        /// <summary>
        /// 保全费
        /// </summary>
        [Excel(HeaderName = "保全费", ColumnType = ExcelColumnType.台账表)]
        public decimal PreserveFee { get; set; }
        /// <summary>
        /// （）费用
        /// </summary>
        [Excel(HeaderName = "（）费用", ColumnType = ExcelColumnType.台账表)]
        public string NoteFee { get; set; } = string.Empty;
        /// <summary>
        /// 借款人证件号
        /// </summary>
        [Excel(HeaderName = "借款人证件号", ColumnType = ExcelColumnType.台账表)]
        public string CustomerOfID { get; set; } = string.Empty;
        /// <summary>
        /// 贷款余额（起诉时本金余额）
        /// </summary>
        [Excel(HeaderName = "贷款余额（起诉时本金余额）", ColumnType = ExcelColumnType.台账表)]
        public decimal BalanceAmount { get; set; }
        /// <summary>
        /// 特管经理
        /// </summary>
        [Excel(HeaderName = "特管经理", ColumnType = ExcelColumnType.台账表)]
        public string SpecialManager { get; set; } = string.Empty;
        /// <summary>
        /// 委托律所
        /// </summary>
        [Excel(HeaderName = "委托律所", ColumnType = ExcelColumnType.台账表)]
        public string TrustLawfirm { get; set; } = string.Empty;
        /// <summary>
        /// 委托律师
        /// </summary>
        [Excel(HeaderName = "委托律师", ColumnType = ExcelColumnType.台账表)]
        public string TrustLawyer { get; set; } = string.Empty;
        /// <summary>
        /// 首聘时间
        /// </summary>
        [Excel(HeaderName = "首聘时间", ColumnType = ExcelColumnType.台账表)]
        [JsonConverter(typeof(DateFormatConverter))]
        public DateTime TrustTime { get; set; }
        /// <summary>
        /// 委托到期日/续聘到期日
        /// </summary>
        [Excel(HeaderName = "续聘到期日", ColumnType = ExcelColumnType.台账表)]
        [JsonConverter(typeof(DateFormatConverter))]
        public DateTime RenewalTime { get; set; }
        /// <summary>
        /// 委托天数
        /// </summary>
        [Excel(HeaderName = "委托天数", ColumnType = ExcelColumnType.台账表, Import = false, Editable = false, Formula = "=TODAY()-{" + nameof(TrustTime) + "}")]
        public int TrustDays
        {
            get
            {
                return (DateTime.Now - TrustTime).Days;
            }
        }
        /// <summary>
        /// 首聘至判决天数（自动）
        /// </summary>
        [Excel(HeaderName = "首聘至判决天数（自动）", ColumnType = ExcelColumnType.台账表, Import = false, Editable = false, Formula = "={" + nameof(VerdictTime) + "}-{" + nameof(TrustTime) + "}")]
        public int VerdictTime2TrustTime
        {
            get
            {
                return (VerdictTime - TrustTime).Days;
            }
        }
        /// <summary>
        /// 执行立案至干净终本天数（自动）
        /// </summary>
        [Excel(HeaderName = "执行立案至干净终本天数（自动）", ColumnType = ExcelColumnType.台账表, Import = false, Editable = false, Formula = "={" + nameof(HasClosingTime) + "}-{" + nameof(ApplyExecutionTime) + "}")]
        public int HasClosingTime2ApplyExecutionTime
        {
            get
            {
                return (HasClosingTime - ApplyExecutionTime).Days;
            }
        }
        /// <summary>
        /// 备注
        /// </summary>
        [Excel(HeaderName = "备注", ColumnType = ExcelColumnType.台账表)]
        public string Note { get; set; } = string.Empty;
        /// <summary>
        /// 退案进展（自用）已退案/未退案/可退案
        /// </summary>
        [Excel(HeaderName = "退案进展（自用）", ColumnType = ExcelColumnType.台账表, Drop = nameof(EnumArchiveProgressOfOutCase))]
        [JsonConverter(typeof(EnumConverter), nameof(EnumArchiveProgressOfOutCase))]
        public EnumArchiveProgressOfOutCase ProgressOfOutCase { get; set; }
        /// <summary>
        /// 负责人(自用)
        /// </summary>
        [Excel(HeaderName = "负责人(自用)", ColumnType = ExcelColumnType.台账表, Drop = nameof(EnumArchive.EnumEmploy))]
        [JsonConverter(typeof(EnumConverter), nameof(EnumArchive.EnumEmploy))]
        public long ChargeUserId2 { get; set; }
        /*---------------------诉讼信息表---------------------------*/
        /// <summary>
        /// 借款人
        /// </summary>
        [Excel(HeaderName = "借款人", ColumnType = ExcelColumnType.诉讼信息表)]
        public string CustomerName { get; set; } = string.Empty;
        /// <summary>
        /// 性别(男/女/未知)
        /// </summary>
        [Excel(HeaderName = "性别", ColumnType = ExcelColumnType.诉讼信息表, Drop = nameof(EnumArchive.EnumArchiveCustomerSexy))]
        [JsonConverter(typeof(EnumConverter), nameof(EnumArchive.EnumArchiveCustomerSexy))]
        public int CustomerSexy { get; set; }
        /// <summary>
        /// 民族
        /// </summary>
        [Excel(HeaderName = "民族", ColumnType = ExcelColumnType.诉讼信息表)]
        public string CustomerEthnic { get; set; } = string.Empty;
        /// <summary>
        /// 出生年月日
        /// </summary>
        [Excel(HeaderName = "出生年月日", ColumnType = ExcelColumnType.诉讼信息表)]
        [JsonConverter(typeof(DateFormatConverter))]
        public DateTime CustomerBirthday { get; set; }
        /// <summary>
        /// 身份证号码
        /// </summary>
        [Excel(HeaderName = "身份证号码", ColumnType = ExcelColumnType.诉讼信息表)]
        public string CustomerID { get; set; } = string.Empty;
        /// <summary>
        /// 身份证地址
        /// </summary>
        [Excel(HeaderName = "身份证地址", ColumnType = ExcelColumnType.诉讼信息表)]
        public string CustomerIDAddress { get; set; } = string.Empty;
        /// <summary>
        /// 房产信息（复印回来材料提取）
        /// </summary>
        [Excel(HeaderName = "房产信息（复印回来材料提取）", ColumnType = ExcelColumnType.诉讼信息表)]
        public string Building { get; set; } = string.Empty;
        /// <summary>
        /// 房产证号
        /// </summary>
        [Excel(HeaderName = "房产证号", ColumnType = ExcelColumnType.诉讼信息表)]
        public string BuildingNo { get; set; } = string.Empty;
        /// <summary>
        /// 有效送达地址
        /// </summary>
        [Excel(HeaderName = "有效送达地址", ColumnType = ExcelColumnType.诉讼信息表)]
        public string CustomerValidAddress { get; set; } = string.Empty;
        /// <summary>
        /// 合同号/合同编号
        /// </summary>
        [Excel(HeaderName = "合同编号", ColumnType = ExcelColumnType.诉讼信息表, Import = false, Editable = false)]
        public string ContractNo2
        {
            get
            {
                return ContractNo;
            }
        }
        /// <summary>
        /// 借据号（自用）/借据编号
        /// </summary>
        [Excel(HeaderName = "借据编号", ColumnType = ExcelColumnType.诉讼信息表, Import = false, Editable =false)]
        public string BusinessNo2 
        {
            get
            {
                return BusinessNo;
            }
        }        
        /// <summary>
        /// 合同地址
        /// </summary>
        [Excel(HeaderName = "合同地址", ColumnType = ExcelColumnType.诉讼信息表)]
        public string ContractAddress { get; set; } = string.Empty;
        /// <summary>
        /// 联系电话
        /// </summary>
        [Excel(HeaderName = "联系电话", ColumnType = ExcelColumnType.诉讼信息表)]
        public string CustomerPhone { get; set; } = string.Empty;
        /// <summary>
        /// 合同签订时间
        /// </summary>
        [Excel(HeaderName = "合同签订时间", ColumnType = ExcelColumnType.诉讼信息表)]
        [JsonConverter(typeof(DateFormatConverter))]
        public DateTime ContractTime { get; set; }
        /// <summary>
        /// 是否额度合同
        /// </summary>
        [Excel(HeaderName = "是否额度合同", ColumnType = ExcelColumnType.诉讼信息表, Drop = nameof(EnumYesNo))]
        [JsonConverter(typeof(EnumConverter), nameof(EnumYesNo))]
        public EnumYesNo IsLimitContract { get; set; }
        /// <summary>
        /// 是否电子签
        /// </summary>
        [Excel(HeaderName = "是否电子签", ColumnType = ExcelColumnType.诉讼信息表, Drop = nameof(EnumYesNo))]
        [JsonConverter(typeof(EnumConverter), nameof(EnumYesNo))]
        public EnumYesNo IsElectContract { get; set; }
        /// <summary>
        /// 入账机构/管户机构
        /// </summary>
        [Excel(HeaderName = "管户机构", ColumnType = ExcelColumnType.诉讼信息表)]
        public string BusinessBank { get; set; } = string.Empty;
        /// <summary>
        /// 支付方式(自主支付/受托支付)
        /// </summary>
        [Excel(HeaderName = "支付方式", ColumnType = ExcelColumnType.诉讼信息表, Drop = nameof(EnumArchive.EnumArchivePayType))]
        [JsonConverter(typeof(EnumConverter), nameof(EnumArchive.EnumArchivePayType))]
        public int PayType { get; set; }
        /// <summary>
        /// 本人有无付款授权书(有/无)
        /// </summary>
        [Excel(HeaderName = "是否有付款授权书", ColumnType = ExcelColumnType.诉讼信息表, Drop = nameof(EnumYesNo))]
        [JsonConverter(typeof(EnumConverter), nameof(EnumYesNo))]
        public EnumYesNo IsPayAuthed { get; set; }
        /// <summary>
        /// 本人无有特种转账借方传票(有/无)
        /// </summary>
        [Excel(HeaderName = "是否有特种转账借方传票", ColumnType = ExcelColumnType.诉讼信息表, Drop = nameof(EnumYesNo))]
        [JsonConverter(typeof(EnumConverter), nameof(EnumYesNo))]
        public EnumYesNo IsSpecialSummons { get; set; }
        /// <summary>
        /// 传票收款账户是否为是(受托人/本人)
        /// </summary>
        [Excel(HeaderName = "传票收款账户是否为受托人", ColumnType = ExcelColumnType.诉讼信息表, Drop = nameof(EnumArchive.EnumArchiveSelfType))]
        [JsonConverter(typeof(EnumConverter), nameof(EnumArchive.EnumArchiveSelfType))]
        public int IsSelfSpecialSummons { get; set; }
        /// <summary>
        /// 借款本金
        /// </summary>
        [Excel(HeaderName = "借款本金", ColumnType = ExcelColumnType.诉讼信息表)]
        public decimal BorrowAmount { get; set; }
        /// <summary>
        /// 年利率(%)
        /// </summary>
        [Excel(HeaderName = "年利率（%）", ColumnType = ExcelColumnType.诉讼信息表)]
        public decimal YearOfRate { get; set; }
        /// <summary>
        /// 月利率(%)
        /// </summary>
        [Excel(HeaderName = "月利率（%）", ColumnType = ExcelColumnType.诉讼信息表)]
        public decimal MonthOfRate { get; set; }
        /// <summary>
        /// 贷款期数
        /// </summary>        
        [Excel(HeaderName = "贷款期数", ColumnType = ExcelColumnType.诉讼信息表)]
        public int LoanMonthly { get; set; }
        /// <summary>
        /// 已还期数
        /// </summary>
        [Excel(HeaderName = "已还期数", ColumnType = ExcelColumnType.诉讼信息表)]
        public int AlreadyMonthly { get; set; }
        /// <summary>
        /// 拖欠期数
        /// </summary>
        [Excel(HeaderName = "拖欠期数", ColumnType = ExcelColumnType.诉讼信息表)]
        public int ArrearMonthly { get; set; }
        /// <summary>
        /// 还款中断日
        /// </summary>
        [Excel(HeaderName = "还款中断日", ColumnType = ExcelColumnType.诉讼信息表)]
        [JsonConverter(typeof(DateFormatConverter))]
        public DateTime BreakTime { get; set; }
        /// <summary>
        /// 放款日
        /// </summary>
        [Excel(HeaderName = "放款日", ColumnType = ExcelColumnType.诉讼信息表)]
        [JsonConverter(typeof(DateFormatConverter))]
        public DateTime BusinessLoanTime { get; set; }
        /// <summary>
        /// 到期日
        /// </summary>
        [Excel(HeaderName = "到期日", ColumnType = ExcelColumnType.诉讼信息表)]
        [JsonConverter(typeof(DateFormatConverter))]
        public DateTime BusinessExpireTime { get; set; }
        /// <summary>
        /// 拖欠本金
        /// </summary>
        [Excel(HeaderName = "拖欠本金", ColumnType = ExcelColumnType.诉讼信息表)]
        public decimal ArrearAmount { get; set; }
        /// <summary>
        /// 剩余本金
        /// </summary>
        [Excel(HeaderName = "剩余本金", ColumnType = ExcelColumnType.诉讼信息表)]
        public decimal SurplusAmount { get; set; }
        /// <summary>
        /// 总本金(拖欠本金+剩余本金)
        /// </summary>
        [Excel(HeaderName = "总本金", ColumnType = ExcelColumnType.诉讼信息表)]
        public decimal TotalAmount { get; set; }
        /// <summary>
        /// 拖欠正常本金利息
        /// </summary>
        [Excel(HeaderName = "拖欠正常本金利息", ColumnType = ExcelColumnType.诉讼信息表)]
        public decimal ArrearInterest1 { get; set; }
        /// <summary>
        /// 拖欠逾期本金罚息
        /// </summary>
        [Excel(HeaderName = "拖欠逾期本金罚息", ColumnType = ExcelColumnType.诉讼信息表)]
        public decimal ArrearInterest2 { get; set; }
        /// <summary>
        /// 拖欠复利
        /// </summary>
        [Excel(HeaderName = "拖欠复利", ColumnType = ExcelColumnType.诉讼信息表)]
        public decimal ArrearInterest3 { get; set; }
        /// <summary>
        /// 合计(总本金+拖欠正常本金利息+拖欠逾期本金罚息+拖欠复利)
        /// </summary>
        [Excel(HeaderName = "合计", ColumnType = ExcelColumnType.诉讼信息表)]
        public decimal TotalAll { get; set; }
        /// <summary>
        /// 清单生成日
        /// </summary>
        [Excel(HeaderName = "清单生成日", ColumnType = ExcelColumnType.诉讼信息表)]
        [JsonConverter(typeof(DateFormatConverter))]
        public DateTime ListTime { get; set; }
        /// <summary>
        /// 诉讼档案交接情况
        /// </summary>
        [Excel(HeaderName = "诉讼备注", ColumnType = ExcelColumnType.诉讼信息表)]
        public string HandoverNote { get; set; } = string.Empty;
    }
}
